1. Field of the Invention
The present invention relates generally to data transfer between networked computer systems, and more particularly, to methods for saving security sensitive Java applet data to a local file system of a client computer system.
2. Description of the Related Art
With networked computer systems, such as the Internet, it is common to have a client computer system (“client”) in communication with a server computer system (“server”). The client can connect to the server through a browser interface using a universal resource locator (URL) that points to the server. Generally, the URL points to a particular HTML file located on the server. The browser interface running on the client displays the content of the HTML file referenced by the URL.
The HTML files may contain references to Java applets (“applets”) that reside on the server computer system. Generally, when the HTML file displayed in the browser contains a reference to an applet, the applet is downloaded and run within the browser. Applets are computer programs that can be implemented to perform a variety of tasks including those involving access to the client's local file system. Thus, it is conceivable that implementation of some applets can damage the client's local file system through actions such as saving, deleting, and executing files. To prevent applets or other browser interface content from damaging the client's local file system, most browser interfaces incorporate a security protocol.
Typically, the browser interface security protocol allows a user to set a level of security. A normal level of security usually prevents applets from accessing the client's local file system. To allow the applet to access the client's local file system, the user usually needs to lower the browser interface security level. In general, lowering the browser interface security level provides the applet, and any other content that can access the browser interface, increased access to the client's local file system. Thus, lowering the security level for a particular applet leaves the client's local file system vulnerable to other rogue processes that may seek to cause damage.
It is often desirable to save an applet's current data for subsequent use. Since the applet is restricted for security reasons from writing to the client's local file system, an alternative method for saving the applet's current data is required. One common alternative method requires the applet to be certified by a third party as being safe for receiving access to the client's local file system. The browser security protocol can be set to allow such certified applets to have limited access to the client's local file system. However, obtaining a third party certification for an applet is costly and time consuming. Therefore, few applets that are actually safe have the third party certification. Another common method for saving the applet's current data involves saving the data to the server from which the applet was provided. This method requires the development of a storage structure (e.g., database) to receive and store the applet's data and identification for numerous clients. The development and maintenance of such a storage structure generally involves substantial expense.
In view of the foregoing, there is a need for a method and a computer implemented process for saving and loading untrusted applet data to and from, respectively, the client's local file system. The untrusted applet data should be saved and loaded without compromising the security of the local file system and without special certification of the applet.